1512F - Education - CodeForces Solution


brute force dp greedy implementation *1900

Please click on ads to support us..

C++ Code:

#include<iostream>
#include<bits/stdc++.h>

#include<bits/stdc++.h>

using namespace std;
#define vi vector<int>
#define pii pair<int,int>
#define int long long
#define ff first
#define se second
#define pb push_back
#define rep(i,a,b) for(int i=a;i<b;i++)
#define N 1000002
vector<vi> adj(N);
vi vis(N,0);
vi vis2(N,0);
vi deg(N,0);
vi depth(N,0);
int dp[50001][501];
vi res;
map<int,int> m;
set<int> k,l;
bool f=0;
int mod=998244353;
void deph(int i,int p){
vis2[i]=1;
depth[i]=depth[p]+1;
for(auto it:adj[i]){
        if(!vis2[it])
    deph(it,i);
}
}
void dfs(int i){
   // cout<<i<<" ";
vis[i]=1;
if(m[i]>0)
    l.insert(i);
if(k==l)
    f=1;
for(auto it:adj[i]){
    if(!vis[it]){
        dfs(it);
    }
}
l.erase(i);
}
void solve(){
int n,k;
cin>>n>>k;
vi a(n),b(n-1);
for(int i=0;i<n;i++){
    cin>>a[i];
}
for(int i=0;i<n-1;i++){
    cin>>b[i];
}
int days=0;
int curr=0;
int res=100000000000000000;
for(int i=0;i<n;i++){
    int p=(ceil((double)(k-curr)/(double)a[i]));

    res=min(res,days+p);
    if(i==n-1)
        break;
    int o=ceil((double)(b[i]-curr)/(double)(a[i]));
    curr+=a[i]*o-b[i];
    days+=(o+1);

}
cout<<res;
}





int32_t main()
{

     ios_base::sync_with_stdio(false);
      cin.tie(nullptr);
    cout.tie(nullptr);

    int t;
cin>>t;
while(t--){
solve();
cout<<"\n";
}
}



/*vector<int> primefactorization(int n){

    vector<int> res;

while(n>1){
    int count=0;
    int p=spf[n];
    while(n%p==0&&n!=1){
        n/=p;
        count++;
    }

    res.push_back(p);
}
return res;
}*/


Comments

Submit
0 Comments
More Questions

1607A - Linear Keyboard
EQUALCOIN Equal Coins
XOREQN Xor Equation
MAKEPAL Weird Palindrome Making
HILLSEQ Hill Sequence
MAXBRIDGE Maximise the bridges
WLDRPL Wildcard Replacement
1221. Split a String in Balanced Strings
1002. Find Common Characters
1602A - Two Subsequences
1555A - PizzaForces
1607B - Odd Grasshopper
1084A - The Fair Nut and Elevator
1440B - Sum of Medians
1032A - Kitchen Utensils
1501B - Napoleon Cake
1584B - Coloring Rectangles
1562B - Scenes From a Memory
1521A - Nastia and Nearly Good Numbers
208. Implement Trie
1605B - Reverse Sort
1607C - Minimum Extraction
1604B - XOR Specia-LIS-t
1606B - Update Files
1598B - Groups
1602B - Divine Array
1594B - Special Numbers
1614A - Divan and a Store
2085. Count Common Words With One Occurrence
2089. Find Target Indices After Sorting Array